import mapConfig from "../../mapConfig"
import { ENV } from "../../constants"
import { replacePlaceholder } from '../../utils/tools'
import { WebMapTileServiceImageryProvider } from 'cesium'

// 加载天地图影像和注记
const addTdtImagery = (viewer, opts = {}) => {
    const key = opts.key || ENV[opts.env] || '99a770a84d7d51f7ae57d9c33ae740c8' // 获取天地图秘钥，可传秘钥、可拿配置秘钥、默认秘钥
    const layerNames = mapConfig[opts.type] // 拿到天地图影像,天地图影像注记数组
    const isLabel = opts.isLabel || (opts.isLabel === undefined && true)  // 是否隐藏地图标注，true默认显示，false隐藏标注
    for (let index = 0; index < layerNames.length; index++) {
        const e = layerNames[index]
        let url = mapConfig.mapUrl
        const obj = {
            layerName: e,
            key: key,
        }
        url = replacePlaceholder(url, obj)
        console.log('mapUrl', url)
        const imageryProvider = new WebMapTileServiceImageryProvider({
            url: url, // 天地图路径
            layer: e, // 图层名
            style: 'default', // 样式名
            format: 'image/jpeg', // 图片格式
            subdomains: mapConfig.subdomains, // 天地图的子域，用于URL模板中 {s} 占位符的子域
            maximumLevel: mapConfig.maxZoom, // 天地图的最大缩放级别
            tileMatrixSetID: 'GoogleMapsCompatible', // 瓦片矩阵集
            credit: '天地图'
        })
        viewer.imageryLayers.addImageryProvider(imageryProvider, index)
        if (!isLabel && index === 0) {
            break
        }
    }
}

export { addTdtImagery }